package com.cd.university.service;

import com.cd.university.controller.form.RolePermissionForm;
import com.cd.university.vo.PermissionVo;

import java.util.HashMap;
import java.util.List;
import java.util.Set;

/**
 * @author 陈栋
 * @create 2021/9/20 19:05
 */
public interface PermissionService {

    /**
     * 向角色中中增加权限
     * @param list 角色和权限集合
     */
    public void insertPermission(List<RolePermissionForm> list);

    /**
     * 查询所有的权限集合
     * @return 权限Vo集合
     */
    public List<PermissionVo> searchAllPermissionVo();

    /**
     * 根据角色Id查询所有的权限
     * @return 权限Vo集合
     */
    public List<PermissionVo> searchPermissionByRoleId(Integer roleId);

    /**
     * 删除用户角色的权限id
     * @param list 角色权限集合
     */
    public void deletePermissionId(List<RolePermissionForm> list);

    /**
     * 根据用户角色查询用户权限，这里的权限只包括叶子权限节点
     * @param roleId 角色id
     * @return 权限vo集合
     */
    public List<PermissionVo> searchPermissionLeafByRoleId(Integer roleId);
}
